/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package vzone.community;

import java.util.UUID;
import vzone.structs.BasePeople;
import vzone.structs.OperatorCode;

/**
 *社区操作接口
 * 社区的主要功能是实现登录 管理用户基本信息等
 * 
 * @author Kingpro
 */
public interface ICommunity
{

    /**
     * 新用户注册
     * 系统应检查NickName是否重复
     *
     * @param people 新用户信息
     * @param pwdHashS 新用户密码
     * @return 操作码
     */
    public OperatorCode Register(BasePeople people, String pwdHashS);

    /**
     * 用户登录
     * @param NickNameS 用户昵称
     * @param pwdHash 用户密码hash
     * @param people 人对象(返回值)
     * @return 操作码
     */
    public OperatorCode Login(String NickNameS, String pwdHash, BasePeople people);

    /**
     * 修改密码
     * @param peopleIDUuid 用户ID
     * @param oldpwdHashS 旧密码hash
     * @param newpwdHash 新密码hash
     * @return 操作码
     */
    public OperatorCode ChangePwd(UUID peopleIDUuid, String oldpwdHashS, String newpwdHash);

    /**
     * 检查用户信息
     * @param peopleID 用户ID
     * @return 用户信息 若不存在则返回null
     */
    public BasePeople CheckPeopleInfo(UUID peopleID);
}
